perm filename COLOUR.PL[S85,JMC] blob
sn#789545 filedate 1985-04-08 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 map( [country(a,A,[B,C,D]),
C00004 ENDMK
C⊗;
map( [country(a,A,[B,C,D]),
country(b,B,[A,C,E]),
country(c,C,[A,B,D,E,F]),
country(d,D,[A,B,F]),
country(e,E,[B,C,F]),
country(f,F,[C,D,E])
]
).
colour←map([Country|Map],Colours) :-
colour←country(Country,Colours),
colour←map(Map,Colours).
colour←map([],←Colours).
colour←country(country(←Name,C,AdjacentCs),Colours) :-
remove(C,Colours,Colours1),
subset(AdjacentCs,Colours1).
subset([C|Cs],Colours) :-
remove(C,Colours,←),
subset(Cs,Colours).
subset([],←Colours).
remove(C,[C|Cs],Cs).
remove(C,[C1|Cs],[C1|Cs1]) :-
remove(C,Cs,Cs1).
test(Map) :-
map(Map),
colours(Colours),
colour←map(Map,Colours).
colours([red,green,blue,white]).